package com.ktwlsoft.archivemanage.payload.businessGuidance;

import com.ktwlsoft.archivemanage.payload.businessInspect.ImgsUpdate;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.Date;
import java.util.List;

@ApiModel("业务指导更新")
@Getter
@Setter
public class BusinessGuidanceUpdateRequest {

    /**指导单号**/
    @ApiModelProperty("指导id")
    @NotNull(message = "指导id不能为空")
    private String id;

    /**指导单号**/
    @ApiModelProperty("指导单号")
    @NotNull(message = "指导单号不能为空")
    @Size(max = 50, message = "指导单号参数超长")
    private String guidanceNum;

    /**地理位置**/
    @ApiModelProperty("地理位置")
    @Size(max = 50, message = "地理位置参数超长")
    private String geoLocation;

    /**立档单位**/
    @ApiModelProperty("立档单位")
    @NotNull(message = "立档单位不能为空")
    @Size(max = 20, message = "立档单位参数超长")
    private String unit;

    /**单位地址**/
    @ApiModelProperty("单位地址")
    @Size(max = 1000, message = "单位地址参数超长")
    private String unitLocation;

    /**单位id**/
    @ApiModelProperty("单位id")
    @NotNull(message = "单位id不能为空")
    private Long unitId;

    /**档案员**/
    @ApiModelProperty("档案员")
    @Size(max = 20, message = "档案员参数超长")
    private String archievist;

    /**档案员id**/
    @ApiModelProperty("档案员id")
    private Long archievistId;

    /**档案员电话**/
    @ApiModelProperty("档案员电话")
    private Long archievistPhone;

    /**指导员id**/
    @ApiModelProperty("指导员id")
    private Long instructorId;

    /**指导员名字**/
    @ApiModelProperty("指导员名字")
    @Size(max = 20, message = "指导员名字参数超长")
    private String instructorName;

    /**状态（STAGE暂存，COMPLETE完结）**/
    @ApiModelProperty("状态（STAGE暂存，COMPLETE完结）")
    @Size(max = 20, message = "状态（STAGE暂存，COMPLETE完结）参数超长")
    private String state;

    /**被指导意见**/
    @ApiModelProperty("被指导意见")
    private String guidanceAdvice;

    /**指导意见**/
    @ApiModelProperty("指导意见")
    private String advice;

    /**被指导意见图片**/
    @ApiModelProperty("被指导意见图片")
    private ImgsUpdate guideAdviceSign;

    /**指导意见图片**/
    @ApiModelProperty("指导意见图片")
    private ImgsUpdate adviceImgSign;

    /**标题**/
    @ApiModelProperty("标题")
    private String title;

    /**表述**/
    @ApiModelProperty("表述")
    private String content;

    /**1.正常,2.禁用,-1.删除*/
    @ApiModelProperty("1.正常,2.禁用,-1.删除")
    private Integer dataState;

    /**指导条目*/
    @ApiModelProperty("指导条目")
    private transient List<GuiGuidanceItemUpdateRequest> itemList;

    /**操作开始时间,领导评价指导时间*/
    @ApiModelProperty("操作开始时间,领导评价指导时间")
    private Date operationStartTime;

    /**操作结束时间,领导评价指导时间*/
    @ApiModelProperty("操作结束时间,领导评价指导时间")
    private Date operationEndTime;
}
